Messaging protocol/service switching methods and devices

ABSTRACT

Methods, devices, and computer readable media for switching communications from a first messaging protocol/service to a second messaging protocol/service by use of messaging information being embedded in a header of a first message of the first messaging protocol/service to enable the recipient to contact the sender over the second messaging protocol/service, is provided.

This application is a continuation of U.S. patent application Ser. No.11/008,956, which was filed on Dec. 13, 2004 now U.S. Pat. No.7,477,908, and claims the benefit thereof, the contents of which areincorporated in its entirety herein by reference.

TECHNICAL FIELD

The technology disclosed in this application relates to messagingservices and protocols.

BACKGROUND

Modern devices are capable of messaging using a number of knownmessaging protocols and services. Some protocols/services have certainweaknesses such as cost and unreliability. Some are consideredrelatively slow and may be network specific.

One existing messaging protocol/service is the SMS (short messageservice) protocol/service which is often used in cellular type servicesto relay short messages. Although SMS is a relatively widespread meansof messaging communication, unfortunately it has the aforesaidweaknesses. Use of SMS services not only can cost a user anon-negligible amount per message, resulting in relatively hefty costsper month or per year, but also suffers from a relatively frequent lossof messages sent by users.

It is noted that Short Message Service (SMS) usually refers to wirelessalphanumeric text messages sent to a PCS telephone. The GSM protocol is,as yet, the only protocol to support text responses from a PCStelephone. Several competing protocols support the receiving of thesemessages but not the transmitting, or the responding back to the sender.The supporters of these other protocols are now adding on the ability toinitiate or respond to text messages. Some other existing protocols maynot be as susceptible to reliability problems and are not as costly,however, they may not be as widespread as SMS. For example, there arepeer to peer (P2P) protocols that allow one device to communicate withanother device without any server/message center interference. Suchservices may allow messages to be sent with high speed and reliabilityregardless of the type of network that the devices are running on.Specific examples of such a peer to peer protocols include PIN2PIN.

Existing user devices now have the ability to be used to communicatewith different media and over various communication protocols/servicesdepending upon choices made by the user of the device. A common practiceutilized in communication is to answer a message of a communicationssession using the same media and communication protocol as the originalmessage. Consistent with this is the often included device feature of“reply” which enables the recipient of a message to reply to the senderof the message in the same media and over the same communicationprotocol/service as the original message.

SUMMARY

Methods, devices, and computer readable media are provided for switchingcommunications from a first messaging protocol to a second messagingprotocol by use of messaging information being embedded in a header of afirst message of the first messaging protocol to enable the recipient tocontact the sender over the second messaging protocol.

According to one broad aspect, the invention provides a method ofswitching from SMS messaging to P2P messaging for communications betweena first user device and a second user device, the method comprising:communicating an SMS message having a user data header (UDH) includingmessaging information for P2P messaging; and switching to P2P messagingusing the messaging information after the communicating of the SMSmessage.

In some embodiments, the method for execution by the first user device,wherein: said communicating comprises sending the SMS message from thefirst user device; and said switching to P2P messaging comprisesreceiving a P2P message at the first user device and thereaftercommunicating using P2P messaging.

In some embodiments, the method for execution by the second user devicewherein: said communicating comprises receiving the SMS message at thesecond user device; and said switching to P2P messaging comprisesextracting the messaging information and transmitting a message usingP2P at the second user device and thereafter communicating using P2Pmessaging in accordance with the messaging information.

In some embodiments, the method for execution by the first user deviceand the second user device, wherein: said communicating comprises: a)sending the SMS message from the first user device to the second userdevice; b) receiving the SMS message at the second user device; saidswitching to P2P messaging comprises: c) extracting the messaginginformation and sending the message using P2P from the second userdevice to the first user device in accordance with the messaginginformation; and d) receiving the message using P2P at the first userdevice.

In some embodiments, a method further comprises before communicating:determining from predetermined messaging protocol/service optionswhether messaging between the first user device and the second userdevice is permitted to be switched from SMS messaging to P2P messaging.

In some embodiments, the messaging information comprises a P1N numberfor use in P2P messaging.

According to another broad aspect, the invention provides a user deviceadapted to switch from SMS messaging to P2P messaging for communicationswith another user device by communicating an SMS message having a userdata header (UDH) including messaging information for P2P messaging, andswitching to P2P messaging using the messaging information for P2Pmessaging after the communicating of the SMS message.

In some embodiments, the user device comprises: a receiver for receivingthe SMS message from the another user device, the user data header (UDH)of the SMS message including messaging information for P2P messagingwith the another user device; a processing function for obtaining themessaging information from the UDH of the SMS message; a transmitter fortransmitting a message using P2P with use of the messaging informationto the another user device, thereby switching to P2P messaging.

In some embodiments, the processing function is further adapted todetermine from predetermined messaging protocol/service options whethermessaging between the user device and the another user device ispermitted to be switched from SMS messaging to P2P messaging.

In some embodiments, the user device comprises: a transmitter fortransmitting the SMS message to the another user device, the user dataheader (UDH) of the SMS message including messaging information for P2Pmessaging with the another user device; a receiver for receiving amessage using P2P from the another user device, thereby switching to P2Pmessaging.

In some embodiments, the user device comprises a transmitter, a receiverand a processing function, wherein: the user device is adapted toinitiate switching to P2P messaging by: a) sending the SMS message tothe another user device; b) receiving a message using P2P from theanother user device thereby switching to the P2P protocol; the userdevice is adapted to switch protocol upon initiation by another userdevice by: c) receiving the SMS message from the another user device;and d) sending a message using P2P to the another user device therebyswitching to the P2P protocol.

In some embodiments, the messaging information comprises a P1N numberfor use in P2P messaging with the another user device.

According to another broad aspect, the invention provides a computerreadable medium comprising stored instructions for execution at a firstuser device, the instructions implementing a method of switching fromSMS messaging to P2P messaging for communications between the first userdevice and a second user device, the method comprising: communicating anSMS message having a user data header (UDH) including messaginginformation for P2P messaging; and switching to P2P messaging using themessaging information after the communicating of the SMS message.

In some embodiments, said communicating comprises sending the SMSmessage from the first user device; and said switching to P2P messagingcomprises receiving a message using P2P at the first user device andthereafter communicating using P2P messaging.

In some embodiments, said communicating comprises receiving the SMSmessage at the second user device; and said switching to P2P messagingcomprises transmitting a message using P2P at the second user device andthereafter communicating using P2P messaging.

In some embodiments, said communicating comprises: a) sending the SMSmessage from the first user device to the second user device; b)receiving the SMS message at the second user device; said switching toP2P messaging comprises: c) sending a message using P2P from the seconduser device to the first user device; and d) receiving the message usingP2P at the first user device.

In some embodiments, switching comprises: the second user deviceobtaining the messaging information from the UDH of the SMS message; andinitiating P2P messaging between the first user device and the seconduser device with use of the messaging information.

In some embodiments, the method further comprises before communicating:determining from predetermined messaging protocol/service optionswhether messaging between the first user device and the second userdevice is permitted to be switched from SMS messaging to P2P messaging.

In some embodiments, the messaging information comprises a P1N numberfor use in P2P messaging.

Other aspects and features will become apparent to those of ordinaryskill in the art upon review of the following description of specificembodiments in conjunction with the accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

Preferred embodiments will now be described with reference to theaccompanying diagrams, in which:

FIG. 1 is a block diagram of a device adapted to perform messagingprotocol/service switching according to one embodiment;

FIG. 2 is a block diagram of two devices performing messagingprotocol/service switching according to one embodiment;

FIG. 3 is a flow diagram of steps performed by a pair of devicesperforming messaging protocol/service switching according to oneembodiment;

FIG. 4 is a flow diagram of steps performed by a user device sending amessage over a first messaging protocol/service which initiatesmessaging protocol/service switching according to one embodiment; and

FIG. 5 is a flow diagram of steps performed by a user device receiving amessage over a first messaging protocol/service which initiatesmessaging protocol/service switching according to one embodiment.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Even though there are varying considerations of cost efficiency,reliability, and popularity of a communications protocol, sometimes theactual chosen communication protocol may be initially used simplybecause the protocol is more widespread. For example, cell phone numberswhich enable regular cell phone and SMS services are commonly exchangedto effect communication. Some devices however may have alternate methodsof communication, which may be preferable. In some cases, both devicesare capable of communication over a more preferable protocol, butunfortunately neither user is aware of the capabilities of the otheruser's device.

Such a situation may arise when for example, both user's are utilizingdevices that support a P2P protocol requiring a PIN (personalidentification number) that identifies a particular device rather than aperson. For example, in a first case, a user initiating conversation maynot know that a second user has a P2P capable device. In another case, auser of a first device may be aware of the second user's devicecapability, but does not know the PIN of the second user's device. Thismight occur for example when a user changes their device, but keeps thesame phone number (for example as would occur if a SIM card is moved toanother P2P enabled device).

One solution to this situation provided by some embodiments in thisapplication that is specific to dealing with switching between the SMSprotocol and a peer to peer protocol requiring a PIN is to embed a userdevice's PIN number in an SMS user data header (UDH) when an initial SMSmessage is sent, the embedding of the user device's PIN beingtransparent to the user. The receiving device is configured to check anyincoming initial SMS message for this PIN embedded in the UDH. As in thecase of the sending device, the receiving device performs this operationtransparent to the user. Once the receiving side has detected a PINnumber in the header of the initial SMS message it switches to P2Pmessaging right away, assuming it is able to do so. The sending deviceonce entering the P2P session will, instead of sending SMS messages andembedding PIN numbers in their headers, will simply continuecommunication over P2P. In some implementations, P2P messaging and SMSmessaging have similar conversation-like user interfaces (UIs) and assuch protocol/service switching of this kind can occur absolutelytransparently to the user.

Although it may be preferable to switch between messagingprotocol/services at the beginning of messaging communications, a switchbetween messaging protocol/services may be conducted at any time duringa messaging communications session.

In general two devices may switch between any first and second messagingprotocol/service by including in a header of a message sent,communication information for communicating with the sender using adifferent messaging protocol/service.

Referring to FIG. 1, a device adapted to perform messagingprotocol/service switching according to one embodiment will now bediscussed. The device is capable of communicating with other devicesusing at least a first service/protocol and a second service/protocol.User device 500 has a transmitter 510, a receiver 520, an antenna 505,processing 530, a user display interface 550, and a data store 540.These basic elements will be described below in respect of theirfunction within the method and functionality of the embodiments. Thetransmitter 510 and receiver 520 function to transmit and receivethrough antenna 505 over-the-air (OTA) signals, which in the presentembodiments comprise short messages. Other signals may also be received.Processing 530, functions to retrieve any data from the data store 540required to assist it in extracting and embedding messaging information(addresses or identification) respectively out of and into the header ofthe first message of the first messaging protocol/service. This couldinclude any information identifying the device ID according to amessaging protocol/service, and information for recognizing device ID'sof other messaging protocol/services the device is capable ofcommunicating with. The data store 540 may also contain messaging rulesor options for use in determining whether or not messagingprotocol/service switching is to be permitted. These may have beenpreset upon manufacture or initialization of the functioning of the userdevice or may be set by a user through use of a user display interface550. Once the messaging options if any have been set, the user devicewill behave in accordance thereto completely transparent to the user,and not requiring any real time input from the user.

It should be understood that the particulars of the user device shown inFIG. 1 are for the purpose of example only. In particular, it shouldalso be understood that the particular configuration and connectionsbetween the elements shown in FIG. 1 form only one exampleimplementation. Elements can be combined or separated into additionalelements. Each element may also be embodied in whole or in part or inany combination thereof, in hardware, software, firmware. Furthermore,separate hardware and/or software may be used to implement each of thedifferent services/protocols, or there may be partial or completeoverlap between the hardware and/or software used to implement thedifferent services/protocols.

Referring now to FIG. 2, two devices performing messagingprotocol/service switching according to one embodiment will now bediscussed.

User device1 100 and user device2 200 are each capable of messaging overa first and second messaging protocol/service. Each has a transmitter(110, 210), a receiver (120, 220), processing (130, 230), and a datastore (140, 240).

In the event that the user of user device1 100 initiates messaging withuser or user device2 200, a first message 50 of the firstprotocol/service is to be sent 51 to user device2 200. User device1determines if messaging protocol/service switching is to be initiated.If so, the message includes the text message 55 of the first messagingprotocol/service, and a header 50 of the first messagingprotocol/service. The header 50 contains messaging information for usein messaging the user device1 100 over the second messagingprotocol/service.

User device2 200 functions to receive the first message 50 sent 51 fromthe user device1 100. User device2 200 determines if messagingprotocol/service switching is to be permitted. If so, when the firstmessage 50 is received, the user device2 200 obtains the messaginginformation in the header 52 of the first message 50. The messaginginformation enables the user device2 200 to message the user device1 100using the second messaging protocol/service. Hence, user device2 200transmits 61 a second message 60 over a second messagingprotocol/service to user device1 100 with use of the messaginginformation. Once user device1 100 receives the second message 60 in thesecond messaging protocol/service, the user device1 100 no longer sendsmessages of the first protocol/service to user device2 200, but insteadcooperates to establish messaging communications 71 over the secondmessaging protocol/service 70.

Referring to FIG. 3, the steps performed by a pair of devices performingmessaging protocol/service switching according to one embodiment willnow be described.

In this embodiment, a first user device sends a first message whoseheader is embedded with messaging information at step 10. The messaginginformation is information which can be used to contact the first userdevice over a second messaging protocol/service.

At step 12, a second user device receives the first message. Afterreceiving the first message, the first user device obtains the messaginginformation from the header of the first message at step 14.

At step 16, the second user device initiates messaging over the secondmessaging protocol/service with the first user device, and at step 18messaging is continued with the first user device over the secondmessaging protocol/service.

In one specific embodiment, the first messaging protocol/service is SMSand the first message is an SMS message. The second messagingprotocol/service is a peer-to-peer messaging service. In an exampleimplementation, the messaging information to enable messaging with thefirst user device, is the PIN of the first user device, and this PIN isembedded in the UDH (user data header) of the first message. The resultis the switching from SMS communication to P2P communication,transparent to both users. However, more generally, the messaginginformation is any information sent using a first protocol that isnecessary to allow the second user device to contact the first userdevice using a second protocol/service.

Referring to FIG. 4, the steps performed by a user device sending amessage over a first messaging protocol/service which initiatesmessaging protocol/service switching according to one embodiment willnow be discussed. The first user device sends a first message of a firstmessaging protocol/service in step 20. The header of the first messagecontains messaging information which is for communicating with the userdevice over a second messaging protocol/service.

In step 22, the user device receives a second message which hasoriginated at a second user device and which is of a second messagingprotocol/service. This reflects the fact that the second user device hasbegun communications in accordance with a switch of protocol/service.

Finally, in step 24, the first user device continues to performmessaging with the second user device over the second messagingprotocol/service.

Referring to FIG. 5, the steps performed by a user device receiving amessage over a first messaging protocol/service which initiatesmessaging protocol/service switching according to one embodiment willnow be discussed.

At step 30, a second user device receives a first message of a firstmessaging protocol/service from a first user device. In the header ofthe first message is messaging information for use in contacting thefirst user device over a second messaging protocol/service.

At step 32, the messaging information is obtained from the header of thefirst message, and with use of this information at step 34, the seconduser device transmits a second message in a second messagingprotocol/service to the first user device.

At step 36, thereafter for the remainder of messaging, the second userdevice and the first user device utilize the second messagingprotocol/service.

Preferably, the functionality of FIG. 4 and FIG. 5 may be carried out bya single user device configured to act as a transmitter which initiatesthe messaging protocol/service switch or the receiver which responds tothe messaging protocol/service switch.

As mentioned herein above, variations of the solution can includemessaging options stored at a user device (in the specific embodimentsdiscussed this could be SMS options) for allowing the user before handto define the default transparent behavior of the user device, as towhether or not communication information (which here is a PIN number) isto be sent in a header (for example an SMS user data header), andconversely whether to allow switching to the other form of messaging(P2P messaging) upon receipt of a message of a first protocol/servicewith connection information of a second protocol/service embedded in theheader of the message of the first protocol/service (for example an SMSmessage with a PIN embedded in the UDH). These options therefor functionto determine when the messaging protocol/service switching is to beperformed, and when no messaging protocol/service switching is to beperformed (regular known messaging is executed).

Many users would consider it an advantage to use a device having thiscapability over other mobile devices because of the opportunity toautomatically save on per message costs such as that charged for SMSmessages. Taking into account a growing number of devices which cancommunicate using different messaging protocol/services, users will beable to save money while guaranteeing full, transparent, fast, reliableand flexible functionality.

The specific examples have focussed on switching between a firstmessaging protocol that is SMS messaging and a second messaging protocolthat is peer-to-peer messaging. More generally, embodiments areapplicable to automate the switching between any two selected messagingprotocols. Other messaging protocol examples include MMS (multimediamessaging service), email. MMS is a new standard in mobile messaging.Like SMS, MMS is a way to send a message from one mobile to another. Thedifference is that MMS can include not just text, but also sound, imagesand video. It is also possible to send MMS messages from a mobile phoneto an email address.

In a preferred embodiment, a pair of devices communicating using a firstone of these protocols (or some other messaging protocol or some othermessaging protocol not specifically listed) will automatically attemptto switch to a second of these protocols (or some other messagingprotocol not specifically listed) that is less expensive than the firstprotocol. If two devices each support respective sets of protocols,preferably the end result is that a switch is made to a less expensiveprotocol that both devices support. In some embodiments, the switch ismade to the least expensive protocol that both devices support. Forexample, other peer to peer protocols may be supported that are lessexpensive than SMS. Examples of particular switches that may result inreducing expense are switches from SMS to email, switch from MMS toemail, switch from SMS or MMS to another less expensive peer to peerprotocol.

Alternatively, a switch in protocols to one that is more reliable may bemade. Alternatively, a switch to a protocol that optimizes a combinationof expense and reliability is made.

Another embodiment provides computer media comprising instructions for aprocessor of a device such as those described hereinabove, to carry outthe functionality for messaging protocol/service switching such as thatdescribed herein above.

Numerous modifications and variations are possible in light of the aboveteachings. It is therefore to be understood that within the scope of theappended claims, what is disclosed in accordance with the applicationmay be practiced otherwise than as specifically described herein.

1. A method of changing a mode of communication from a first messagingservice/protocol to a second messaging service/protocol forcommunications between a first user device and a second user device, themethod comprising: communicating a first message, by the first userdevice to the second user device, using the first messagingservice/protocol containing messaging information for messaging usingthe second messaging service/protocol; and changing, when at least oneof the first user device and the second user device communicates one ormore subsequent messages, the mode of communication to the secondmessaging service/protocol using the messaging information after thecommunicating of the first message.
 2. The method of claim 1, wherein:said communicating comprises sending the first message from the firstuser device; and said changing to the second messaging service/protocolcomprises receiving a second message of the second service/protocol atthe first user device and thereafter communicating using the secondmessaging service/protocol.
 3. The method of claim 1, wherein: saidcommunicating comprises receiving the first message at the second userdevice; and said changing to the second messaging service/protocolcomprises extracting the messaging information and transmitting a secondmessage using the second messaging service/protocol at the second userdevice and thereafter communicating using the second messagingservice/protocol in accordance with the messaging information.
 4. Amethod of claim 1 further comprising before communicating: determiningfrom predetermined messaging service/protocol options whether messagingbetween the first user device and the second user device is permitted tobe changed from the first messaging service/protocol to the secondmessaging service/protocol.
 5. The method of claim 1, wherein the firstmessaging service/protocol comprises a short message service (SMS)service/protocol, and the second messaging service/protocol comprises aP2P (peer to peer) messaging service/protocol.
 6. The method of claim 1,wherein the messaging information is contained in a user data header ofthe first message.
 7. The method of claim 1, wherein the messaginginformation comprises a personal identification number for use in peerto peer messaging.
 8. The method of claim 1, wherein the secondmessaging service/protocol is automatically selected by the first userdevice from a set of one or more possible messaging service/protocolsusing expense and/or reliability as a selection criteria.
 9. The methodof claim 1, wherein the communicating and changing takes placeautomatically and transparent to users of the first and second userdevices.
 10. The method of claim 1 for execution by the first userdevice and the second user device, wherein: said communicatingcomprises: sending the first message from the first user device to thesecond user device; receiving the first message at the second userdevice; said changing to the second messaging service/protocolcomprises: extracting the messaging information and sending the messageusing the second messaging service/protocol from the second user deviceto the first user device in accordance with the messaging information;and receiving the message using the second messaging service/protocol atthe first user device.
 11. A user device adapted to change a mode ofcommunication from a first messaging service/protocol to a secondmessaging service/protocol for communications with another user deviceby communicating a first message of the first messaging service/protocolhaving a user data header comprising messaging information for thesecond messaging service/protocol, and changing, when the user device iscommunicating one or more subsequent messages to said another userdevice, to the second messaging service/protocol using the messaginginformation for the second messaging service/protocol after thecommunicating of the first message.
 12. The user device of claim 11comprising: a receiver for receiving the first message from the otheruser device; a processing function for obtaining the messaginginformation from the first message; a transmitter for transmitting amessage using the second messaging service/protocol with use of themessaging information to the other user device, thereby changing to thesecond messaging/protocol.
 13. The user device of claim 12, wherein theprocessing function is further adapted to determine from predeterminedmessaging service/protocol options whether messaging between the userdevice and the other user device is permitted to be changed from thefirst messaging service/protocol to the second messagingservice/protocol.
 14. The user device of claim 11 comprising: atransmitter for transmitting the first message to the other user device;a receiver for receiving a second message using the second messagingservice/protocol from the other user device, thereby changing to thesecond messaging service/protocol.
 15. The user device of claim 11,wherein the first messaging service/protocol comprises a short messageservice (SMS) messaging service/protocol, and the second messagingservice/protocol comprises a peer to peer messaging service/protocol.16. The user device of claim 15, wherein the messaging informationcomprises a personal identification number for use in the peer to peermessaging service/protocol.
 17. The user device of claim 16, wherein thepersonal identification number is sent in the user data header of thefirst message.
 18. The user device of claim 11 wherein communicating andthe changing takes place automatically and transparent to users of theuser device and the other user device.
 19. A computer readable mediumcomprising stored instructions for execution at a first user device, theinstructions implementing a method of changing a mode of communicationfrom a first messaging service/protocol to a second messagingservice/protocol for communications between the first user device and asecond user device, the method comprising: communicating a first messageusing the first messaging service/protocol having a user data headerincluding messaging information for second messaging service/protocol;and changing, when the first user device is communicating one or moresubsequent messages to the second user device, the mode of communicationto the second messaging service/protocol using the messaging informationafter the communicating of the first message.
 20. The computer readablemedium of claim 19 wherein: said communicating comprises sending thefirst message from the first user device; and said changing to secondmessaging service/protocol comprises receiving a message using thesecond messaging service/protocol at the first user device andthereafter communicating using the second messaging service/protocol.